CREATE OR REPLACE PROCEDURE EXA$CREA_EXAMEN_ADJUNTO
/************************************************************************/
/*NOMBRE             : EXA$CREA_EXAMEN_ADJUNTO                          */
/*DESCRIPCI??N       : CREA EXAMEN                                      */
/*FECHA CREACION     : 27-SEPT-2012 12:41                               */
/*VERSION            : V01.00-000                                       */
/************************************************************************/
 (
	SRUNPACIENTE$	           IN VARCHAR2,
	SNOMBREPACIENTE$	       IN VARCHAR2,
	SINDSEXO$                  IN VARCHAR2,
	SCODPREVISION$             IN VARCHAR2,
	STELEFONOFIJO$             IN VARCHAR2,
	SCORREOELECTRONICO$        IN VARCHAR2,
	SFECNACIMIENTO$            IN VARCHAR2,
	SRUNPROFESIONAL$           IN VARCHAR2,
	SNOMBREPROFESIONAL$        IN VARCHAR2,
	SFHODIAGNOSTICO$           IN VARCHAR2,
	SDIAGNOSTICONOCODIFICADO$  IN VARCHAR2,
	NIDUSUARIOCREACION   	   IN NUMBER,
	NIDEXAMEN$		           OUT NUMBER,	
	NUMERROR$				   OUT NUMBER,
	MSJERROR$ 			       OUT VARCHAR2 
)
AS								
	XNIDEXAMEN$				    EXAMEN.EXA_NIDEXAMEN%TYPE;
BEGIN
  
	NUMERROR$ := 0;
	MSJERROR$ := '';
		
	/*---------------------- -------------------------*/
   /* INSERTA EL EXAMEN			            	 	 */
   /*-------------------------- ---------------------*/
	BEGIN
		NUMERROR$ := 0;
		MSJERROR$ := '';

		XNIDEXAMEN$ := SEQ_EXAMEN.NEXTVAL;

		INSERT INTO 
			EXAMEN
		(
			EXA_NIDEXAMEN,
			EXA_SRUNPACIENTE, 
			EXA_SNOMBREPACIENTE,
			EXA_SINDSEXO,
			EXA_SCODPREVISION,
			EXA_STELEFONOFIJO,
			EXA_SCORREOELECTRONICO,
			EXA_DFECHANACIMIENTO,
			EXA_SRUNPROFESIONAL, 
			EXA_SNOMBREPROFESIONAL, 
			EXA_DFHODIAGNOSTICO,
			EXA_SDESOTRAPATOLOGIAGES,
			EXA_NIDUSUARIOCREACION,
			EXA_DFHOCREACION
		) 
		VALUES
		(
			XNIDEXAMEN$,
			SRUNPACIENTE$,
			SNOMBREPACIENTE$,
			SINDSEXO$,
			SCODPREVISION$,
			STELEFONOFIJO$,
			SCORREOELECTRONICO$,
			TO_DATE(SFECNACIMIENTO$, 'DDMMYYYY'),
			SRUNPROFESIONAL$,
			SNOMBREPROFESIONAL$,
			TO_DATE(SFHODIAGNOSTICO$,'DDMMYYYY'),
			SDIAGNOSTICONOCODIFICADO$,
			NIDUSUARIOCREACION,
			SYSDATE
		);

		EXCEPTION
			WHEN DUP_VAL_ON_INDEX THEN
				NUMERROR$ := 72102;
				MSJERROR$ := '[EXA$CREA_EXAMEN_ADJUNTO] ERROR ID NOTIFICACION YA EXISTE';
				RETURN;
			WHEN OTHERS THEN
				NUMERROR$ := SQLCODE;
				MSJERROR$ := '[EXA$CREA_EXAMEN_ADJUNTO] NO PUEDE INSERTAR NUEVA NOTIFICACION GES (SQL) CAUSA('||SQLERRM|| ')';
				RETURN;
	END;
	
	
		NUMERROR$ := 0;
		MSJERROR$ := ' ';
		NIDEXAMEN$ := XNIDEXAMEN$;
		RETURN;
END;